package github.sf.fw.tools.tree;

/**
 * example:
 * <pre>
 *     @Data
 * public class TNode implements BaseNode {
 *     private String id;
 *     private String fatherId;
 *     private String name;
 *
 *     public TNode(String id, String fatherId, String name) {
 *         this.id = id;
 *         this.fatherId = fatherId;
 *         this.name = name;
 *     }
 *
 *     @Override
 *     public Object getFatherId() {
 *         return fatherId;
 *     }
 *
 *     @Override
 *     public void setFatherId(Object fatherId) {
 *         this.fatherId = String.valueOf(fatherId);
 *     }
 *
 *     @Override
 *     public Object getNodeId() {
 *         return id;
 *     }
 *
 *     @Override
 *     public void setNodeId(Object nodeId) {
 *         this.id = String.valueOf(nodeId);
 *     }
 * }
 * </pre>
 *
 * @see BaseTreeNode
 */
public interface BaseNode extends Node {

    /**
     * @return 父节点Id
     */
    Object obtainParentId();

    void configFatherId(Object fatherId);

    /**
     * @return 自己的Id
     */
    Object obtainNodeId();

    void configNodeId(Object nodeId);
}
